import type { ThemeType } from '@ued-material/ued-wbc/dist/types/types';

export enum LogoModeEnums {
    IMAGE = 'image',
    TEXT = 'text',
    IMAGE_TEXT = 'image-text',
}

export interface LanguagesVO {
    label: string;
    value: string;
    [key: string]: string | number | undefined;
}

export class LoginConfigDTO {
    // 主题风格
    mode?: ThemeType = 'light';

    // 登录页背景模式
    bgMode?: 'image' | 'video' = 'image';

    // 登录页背景
    bgImage?: string = '';

    // 登录页视频封面
    bgPoster?: string = '';

    // 登录页视频
    bgVideo?: string = '';

    // 登录页LOGO
    logoMode?: LogoModeEnums = LogoModeEnums.IMAGE;

    // logo名称
    logoName?: string = '';

    // logo图片
    logoUrl?: string = '';

    // 是否显示多语言
    showLanguage?: boolean = true;

    // 默认语言
    language?: string = 'zh';

    // 多语言可选项
    languages?: LanguagesVO[] = [];

    // 宣传标语
    slogan?: string = '';

    // 公司名称
    companyName?: string = '';

    // 版权信息
    copyright?: string = '';

    // 备案信息
    filing?: string = '';

    // 备案链接
    filingUrl?: string = '';

    // ICP备案号
    icp?: string = '';

    // ICP备案链接
    icpUrl?: string = '';

    constructor(v?: LoginConfigDTO) {
        Object.assign(this, { mode: 'light' }, v);
    }
}
